//package com.boot2.core.web;
//
//import com.boot2.core.dao.i.MsTokenDao;
//import com.boot2.core.exception.BusinessException;
//import com.boot2.core.model.MsToken;
//import com.boot2.core.utils.StringUtils;
//import feign.RequestInterceptor;
//import feign.RequestTemplate;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.core.env.Environment;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.PostConstruct;
//
///**
// * @author zhangweilin
// * @date 2018/9/30 16:01
// * @description: Feign请求拦截
// */
//@Component
//public class FeignAuthRequestInterceptor implements RequestInterceptor {
//
//    @Autowired
//    Environment environment;
//
//    @Autowired
//    MsTokenDao msTokenDao;
//
//    /**
//     * 当前服务名
//     */
//    private String token;
//
//    @PostConstruct
//    public void init() {
//        String property = environment.getProperty("spring.application.name");
//        if (StringUtils.isEmpty(property)) {
//            throw new BusinessException("spring.application.name can not be null");
//        }
//        MsToken msToken = msTokenDao.findOneByServiceName(property);
//        if (null == msToken) {
//            throw new BusinessException("当前服务没有配置token");
//        }
//        this.token = msToken.getToken();
//    }
//
//    @Override
//    public void apply(RequestTemplate template) {
//        template.header("x-access-token", token);
//    }
//}
